This invention relates in general to computer software and, more specifically, to a system that allows the creation of a demonstration presentation of computer software, or other computer information.
Today, computer software application programs are an important, and prevalent, product. Computer software is used in virtually every facet of our lives including business, commerce, education and entertainment. Software has proven to be very popular and effective in performing in a wide variety of applications.
However, as computing resources and power have increased, so has the size and complexity of software programs. In order to allow human users to effectively operate these more complex application programs, sophisticated graphical user interfaces (GUIs) have been developed. Naturally, this increased complexity and sophistication requires that a new user spend considerable time learning, or being trained in, the operation of the software. Traditionally, such training has occurred on a person-to-person basis. As, for example, where an instructor and trainees meet face-to-face in a classroom. The use of written manuals, prerecorded videotapes, audiotapes, etc. are also an aid to new users' understanding of software applications. However, these traditional approaches to training in computer programs leaves something to be desired.
For example, considerable time and effort is required in instructor training and preparation; writing, publishing and maintaining effective references (either electronic or hard copy); producing a video or audiotape, etc. Also, these traditional approaches tend to be insufficient to support a new user's ongoing need for instruction in the software application. This is particularly true where, as with today's software, a user is constantly exposed to new features in the program, or needs to know of a new feature, and thus requires immediate instruction. Often manuals are unwieldy and difficult to index and access. Other media, such as video and audiotape, does not provide an effective means for obtaining the training information. Further, these traditional methods are not convenient for a user to access while the user is operating the application program and is suddenly struck with a problem or faced with a question.
Although “on-line help” forms of information have become popular, on-line help has much of the same characteristics as traditional manuals, providing only slight advantages over hard copy manuals by allowing searches. Although electronic on-line help is immediately accessible at a user's computer, the online help tends to be “static,” in that the electronic manuals mimic a hardcopy presentation of information in the form of pages of text along with illustrations.
A problem with on-line help, or electronic manuals, is that reference to the complex user interface controls and displays is purely by way of text. Often a user is directed through many steps in a confusing way. For example, a user may be asked to “open Window B, click on button X, pull down menu Y, highlight item Z, and enter a number into the resulting dialog box.” At each of the steps in the previous instruction, the user's display may change as the user operates the GUI so that the user must hunt for the next item to be selected, or activated. This can be confusing to the user as the user attempts to correlate a text description with visual controls that are spread out over the screen and may reappear, disappear or change. At any step in the way, the user is prone to making a mistake and heading down the wrong path. The user may not realize that they have taken the wrong path until a few steps have passed. In this case the user is unaware of exactly where the wrong step was taken.
Electronic manuals often include “screen shots,” or still pictures of the user interface, which are included adjacent to text in the electronic manual. While this helps improve a user's understanding of how to operate the user interface, it is still a static representation of the user interface that requires association of text in separate paragraphs to the image being presented. In such static presentation the user fails to get a feel for how the user interface is actually being operated. Also, it is not trivial for an author to compile such a manual by writing text, obtaining screen shots, inserting the screen shots into the text, correlating the screen shots to the text, etc.
Thus, it desirable to provide a product that allows an author to easily create presentations that are dynamic, and effective, in presenting information, such as the operation of a computer application program.
The rise in popularity of the Internet as a distribution and commerce medium for software and other digital information has also given rise to a greater need for effective presentation of information. One such need is the need to demonstrate the features, aspects and functionality of computer software to potential users, or purchasers. This is necessitated by the Internet since, unlike walking into a store and speaking with a salesman, purchasers over the Internet may have to make a buying decision without being able to operate a fully functional version of the software. Another use for such presentations is to assist users in running their current application programs, operating systems, utilities, etc. Again, because of the complexity in the application programs, and their GUIs, the need for a detailed, and precise, presentation of the steps, and operation, of the software is of vital importance.
Thus, it is desirable to provide a product that allows the creation of effective and efficient presentation of application programs, operating systems, utilities, and other computer information in a simple way. It is desirable for the resulting presentation to be compact and viewable without specialized programs. This is especially true where such presentations may be transferred over, downloaded, or otherwise obtained from networks of restricted bandwidth, such as the Internet.
Another recently emerging aspect of software in general, and of the Internet in particular, is advertising. Ads designed to sell products or services is a fast-growing aspect of electronic commerce (E-commerce). Typically, such ads take the form of “banners” on Web pages which are viewable when a user is on-line and viewing a Web page that includes a banner ad.
Another aspect of Internet e-commerce is in the method of distribution, marketing and sale of computer software. Such approaches as “shareware,” “demoware,” “trialware,” etc., are designed to allow users to experience a software product before purchasing the product. Typically, these approaches allow a user to operate a software product for a limited amount of time, or allow a user to operate a software product that has less than the full feature set. However, users will often use the product through the free trial period and then not purchase the product. Additionally, some users may continuously download new copies of the time-limited product so that they can continue using the product without paying. Still another problem is that such time restrictions are relatively easy to defeat for “hackers” who might modify the software, system timer, operating system, etc. Similarly, in the approach where some features of the software product are disabled, users may continue to use the software without being hampered too much by the disabled features. This allows a user to essentially use the software for free, indefinitely. Also, this type of software is still susceptible to hacking.
Thus, it is desirable to provide a revenue model for software manufacturers whereby users can obtain use of software while the manufacturer is assured of some revenue return.